package com.neusoft.shry.service;

import java.util.List;

import com.neusoft.shry.dto.PositionDto;
import com.zero.basic.exception.SmsRuntimeException;
import com.zero.basic.model.Pager;
import com.zero.mms.model.Dep;
import com.zero.mms.model.Employee;
import com.zero.mms.model.Position;

public interface PositionService {
	
	//get positions by conditions
	public Pager<PositionDto> getPositionsByConditions(Integer dep_id,String dep_name,Integer position_id,String position_name,String position_type) throws SmsRuntimeException;
	
	//add a position
	public void addPosition(Position position) throws SmsRuntimeException;
	
	//delete a position
	public void deletePosition(Integer position_id) throws SmsRuntimeException;
	
	//update a position
	public void updatePosition(Integer position_id,String position_name,Integer dep_id,String position_type,Integer position_maxmember) throws SmsRuntimeException;
	
	//view employees in a position
	public List<Employee> viewEmployeesInPosition(Integer position_id) throws SmsRuntimeException;
	
	//view a position
	public Position viewPosition(Integer position_id) throws SmsRuntimeException;
	
	//view department's name of a position
	public String viewDepNameOfPosition(Integer position_id) throws SmsRuntimeException;
	
	//get all deps
	public List<Dep> getAllDeps() throws SmsRuntimeException;
	
	//get all positions
	public List<Position> getAllPositions() throws SmsRuntimeException;

}
